package util;

public class CekimEkleriTr extends HarfTr {

	public static final String SORU_EKLERI = "mı,mi,mu,mü,mıy,miy,muy,müy";
	public static final String EK_FIILLER = "dır,dir,dur,dür,"
			+ "tır,tir,tur,tür," + "ıdı,idi,udu,üdü," + "imiş,ımış,umuş,ümüş,"
			+ "ise," + "se,sa," + "im,ım,um,üm," + "sın,sin,sun,sün,"
			+ "ız,iz,uz,üz," + "siniz,sunuz,sünüz,sunuz," + "dı,di,du,dü,"
			+ "tı,ti,tu,tü";
	/*
	 * (Di)m |(Di)ydim | (Di)ysem, ==== > di – dı – du – dü – ti – tı – tu - tü
	 */
	public static final String FIIL_CEKIM_EKLERI_GRUP_1 = "dim,din,di,dik,diniz,diler,"
			+ "dım,dın,dı,dık,dınız,dılar,"
			+ "dum,dun,du,duk,dunuz,dular,"
			+ "düm,dün,dü,dük,dünüz,düler,"
			// Tim-tin-ti-tik-tiniz-tiler // Tım-tın-tı-tık-tınız-tılar //
			// Tum-tun-tu-tuk-tunuz-tular// tüm-tün-tü-tük-tünüz-tüler
			+ "tim,tin,ti,tik,tiniz,tiler,"
			+ "tım,tın,tı,tık,tınız,tılar,"
			+ "tum,tun,tu,tuk,tunuz,tular,"
			+ "tüm,tün,tü,tük,tünüz,tüler,"
			// (Di)ydim ==== > di – dı – du – dü – ti – tı – tu - tü
			+ "diydim,diydin,diydi,diydik,diydiniz,diydiler,"
			+ "dıydım,dınydın,dıydı,dıydık,dıydınız,dıydılar,"
			+ "duydum,dun,du,duk,dunuz,dular,"
			+ "duydum,duydun,duydu,duyduk,duydunuz,duydular,"
			+ "düydüm,düydün,düydü,düydük,düydünüz,düydüler," // Düydüm-düydün-düydü-düydük-düydünüz-düydüler
			+ "tıydım,tıydın,tıydı,tıydık,tıydınız,tıydılar," // Tıydım-tıydın-tıydı-tıydık-tıydınız-tıydılar
			+ "tiydim,tiydin,tiydi,tiydik,tiydiniz,tiydiler," // Tiydim-tiydin-tiydi-tiydik-tiydiniz-tiydiler
			+ "tuydum,tuydun,tuydu,tuyduk,tuydunuz,tuydular,"// Tuydum-tuydun-tuydu-tuyduk-tuydunuz-tuydular
			+ "tüydüm,tüydün,tüydü,tüydük,tüydünüz,tüydüler," // Tüydüm-tüydün-tüydü-tüydük-tüydünüz-tüydüler
			+ "tuysam,tuysan,tuysa,tuysak,tuysanız,tuysalar,tularsa," // Tuysam-tuysan-tuysa-tuysak-tuysanız-tuysalar-tularsa
			+ "tüysem,tüysen,tüyse,tüysek,tüyseniz,tüyseler,tülerse," // Tüysem-tüysen-tüyse-tüysek-tüyseniz-tüyseler-tülerse

			// (Di)ysem, ==== > di – dı – du – dü – ti – tı – tu - tü

			+ "diysem,diysen,diyse,diysek,diyseniz,dilerse,"
			+ "dıysam,dıysan,dıysa,dıysak,dıysanız,dılarsa,"
			+ "duysam,duysan,duysa,duysak,duysanız,dularsa,"
			+ "düysem,düysen,düyse,düysek,düyseniz,dülerse,"
			+ "tiysem,tiysen,tiyse,tiysek,tiyseniz,tilerse," // git-(ti)ysem
			+ "tıysam,tıysan,tıysa,tıysak,tıysanız,tılarsa,"// yap-(tı)ysam
			+ "tuysam,tuysan,tuysa,tuysak,tuysanız,tularsa,"// uç-(tu)ysam
			+ "tüysem,tüysen,tüyse,tüysek,tüyseniz,tülerse,"// düş-(tü)ysem
			// Bu alttakiler bir üstte kapsandı
	/*
	 * + "dıysalar,dılarsa," //Dıylarsa //Diyseler +
	 * "duysalar,dularsa,"//Duylarsa + "düyseler,dülerse,"//Düylerse +
	 * "tıysalar,tılarsa" // //Tiyseler //Tıylarsa
	 */

	;
	/*
	 * (miş)im | (miş)tim |(miş)(miş)im | (miş)sem =====> miş – mış – muş – müş
	 */
	public static final String FIIL_CEKIM_EKLERI_GRUP_2 = //
	"mişim,mişsin,miş,mişiz,mişsiniz,mişler," // gel-(miş)im
			+ "mışım,mışsın,mış,mışız,mışsınız,mışlar,"// yap-(mış)ım
			+ "muşum,muşsun,muş,muşuz,muşsunuz,muşlar," // ol-(muş)um
			+ "müşüm,müşsün,müş,müşüz,müşsünüz,müşler,"// gör-(müş)üm
			+ "miştim,miştin,mişti,miştik,miştiniz,miştiler,mişlerdi," // gel-(miş)tim
			+ "mıştım,mıştın,mıştı,mıştık,mıştınız,mıştılar,mışlardı,"// yap-(mış)tım
			+ "muştum,muştun,muştu,muştuk,muştunuz,muştular,muşlardı," // ol-(muş)tum
			+ "müştüm,müştün,müştü,müştük,müştünüz,müştüler,müşlerdi,"// gör-(müş)tüm
			+ "mişmişim,mişmişsin,mişmiş,mişmişiz,mişmişsiniz,mişmişler,mişlermiş" // gel-(miş)(miş)im
			+ "mışmışım,mışmışsın,mışmış,mışmışız,mışmışsınız,mışmışlar,mışlarmış"// yap-(mış)(mış)ım
			+ "muşmuşum,muşmuşsun,muşmuş,muşmuşuz,muşmuşsunuz,muşmuşlar,muşlarmuş" // ol-(muş)(muş)um
			+ "müşmüşüm,müşmüşsün,müşmüş,müşmüşüz,müşmüşsünüz,müşmüşler,müşlermüş"// gör-(müş)(müş)üm
			+ "mişsem,mişsen,mişse,mişsek,mişseniz,mişseler,mişlerse," // gel-(miş)sem
			+ "mışsam,mışsan,mışsa,mışsak,mışsanız,mışsalar,mışlarsa," // yap-(mış)sam
			+ "muşsam,muşsan,muşsa,muşsak,muşsanız,muşsalar,muşlarsa," // ol-(muş)sam
			+ "müşsem,müşsen,müşse,müşsek,müşseniz,müşseler,müşlerse," // gör-(müş)sem
	;

	/*
	 * TODO Eksik sonra eklenecek ! ((i)yorum | (i)yordum | (i)yormuşum |
	 * (i)yorsam =====> ı – i – u – ü
	 */
	// public static final String FIIL_CEKIM_EKLERI_GRUP_3 = //

	/*
	 * TODO Eksik sonra eklenecek !! (ecek)(i)m | (ecek)t(i)m | (ecek)m(i)ş(i)m
	 * | (ecek)s(e)m ==> ecek – acak , i – ı , e – a
	 */
	// public static final String FIIL_CEKIM_EKLERI_GRUP_4 = //

	/*
	 * TODO Eksik sonra eklenecek !! (i)r(i)m | (i)rd(i)m | (i)rm(i)ş(i)m |
	 * (i)rs(e)m ===> u – ü, i – ı, e – a !!!!!!!!!
	 */
	// public static final String FIIL_CEKIM_EKLERI_GRUP_5 = //

	// public static final String FIIL_KOK = "FIIL_KOK";

	public static final String ISIM_CEKIM_EKLERI_HAL_EKI = "a,e,ı,i,u,ü,"
			+ "da,de,ta,te," + "dan,den,tan,ten," + "ın,in,un,ün,an,en,"
			+ "nın,nin,nun,nün,nan,nen," + "la,le,lı," + "ca,ce,ça,çe,";
	public static final String ISIM_CEKIM_EKLERI_IYELIK_EKI = "m,n,i,"
			+ "im,ın,um,üm," + "in,ın,un,ün," + "si,sı,su,sü,"
			+ "miz,mız,muz,müz," + "imiz,ımız,umuz,ümüz," + "niz,nız,nuz,nüz,"
			+ "iniz,ınız,unuz,ünüz," + "leri,ları,";
	public static final String ISIM_CEKIM_EKLERI_COGUL_EKI = "ler,lar,";

	public CekimEkleriTr() {

	}

	public boolean isSoruEki(String str) {
		if (SORU_EKLERI.contains(str)) {
			return true;
		} else
			return false;
	}

	public boolean isEkFiil(String str) {
		if (EK_FIILLER.contains(str)) {
			return true;
		} else
			return false;
	}

	public boolean isFiilCekimEki(String str) {
		if (FIIL_CEKIM_EKLERI_GRUP_1.contains(str)) {
			return true;
		} else if (FIIL_CEKIM_EKLERI_GRUP_2.contains(str)) {
			return true;
			/*
			 * TODO Fiile çekim ekleri grupları 3-4-5-6-7-7-8-8-9 tanımlanınca
			 * bu commentler kadırılacak
			 */
			// } else if (FIIL_CEKIM_EKLERI_GRUP_3.contains(str)) {
			// return true;
			// } else if (FIIL_CEKIM_EKLERI_GRUP_4.contains(str)) {
			// return true;
			// } else if (FIIL_CEKIM_EKLERI_GRUP_5.contains(str)) {
			// return true;
			// } else if (FIIL_CEKIM_EKLERI_GRUP_6.contains(str)) {
			// return true;
			// } else if (FIIL_CEKIM_EKLERI_GRUP_7.contains(str)) {
			// return true;
			// } else if (FIIL_CEKIM_EKLERI_GRUP_8.contains(str)) {
			// return true;
			// } else if (FIIL_CEKIM_EKLERI_GRUP_9.contains(str)) {
			// return true;
		} else {
			return false;
		}
	}

	public String getEkTipi(String str) {
		if (SORU_EKLERI.contains(str)) {
			return "SORU_EKI";
		} else if (EK_FIILLER.contains(str)) {
			return "EK_FIIL";
		} else if (isFiilCekimEki(str)) {
			return "FIIL_CEKIL_EKI";
		}

		return "BOS";
	}
}
